# Grist: free open-source point-and-click database system Brendan Kidwell Presented at Boston Linux & UNIX 16 July 2025 The following notes are my outline for today's talk, with notes pointing to specific resources. - Grist home page: [www.getgrist.com](https://www.getgrist.com/) - Documentation: [support.getgrist.com](https://support.getgrist.com/) - Download the DESKTOP release: [github.com/gristlabs/grist-desktop/releases](https://github.com/gristlabs/grist-desktop/releases) - Download my sample files used in this talk: [go.glump.net/grist-blu](https://go.glump.net/grist-blu) ---- Have you ever been frustrated with your spreadsheet program, fighting with cell formats when you just want to enter data, or not understanding how to link two spreadsheet tables to each other? Did you use Microsoft Access in the past, and don’t want to use it now because it hasn’t been updated in decades and doesn’t run on Linux? In this presentation we’ll take a look at Grist, a "low-code" database product that anyone can use to organize hobby, home, or business work. We’ll cover: - What is a relational database and why would you want to use one? - Differences between spreadsheets and relational databases. - How to install Grist. - What kinds of projects can be done in Grist, and when would you want to use a more advanced system instead? - Building a solution with Grist: "my home media collection" If you want to check it out before the presentation: See Grist’s web site ( [www.getgrist.com](https://www.getgrist.com/) ), the Documentation ( [support.getgrist.com](https://support.getgrist.com/) ), and download the all-in-one Desktop build of the application for your platform ( [github.com/gristlabs/grist-desktop/releases](https://github.com/gristlabs/grist-desktop/releases) ). We’ll make the full script of the talk and the demo "my home media collection" database available for download to get you started with learning how Grist works in your own time after the presentation. ---- - What is a relational database and why would you want to use one? - Differences between spreadsheets and relational databases. - PRESENTATION: Show `Library.ods` spreadsheet and `Library.grist` above and below each other. - Issues - LibreOffice Calc doesn't handle long text well. - Difficult to enforce validation for values --- for example, allowed values for Medium. - Item Title in Checkouts table only has the title, or whatever we manually entered. - Synchronizing data across views: Items table doesn't say that TNG Season 4 is checked out. - Difficult to make reports. - About Grist and how to install - A new up-to-date point-and-click database application in the spirit of tools like Microsoft Access and FileMaker Pro - Project started in 2014. Hit 1.0 release in 2022. - Unlike other tools like Airtable and Notion, Grist is free software. There are no proprietary data formats, and you are not locked into continuing to pay for a remote server. - Four modes of operation: - Free tier service hosted by Grist Labs: "small projects" up to 5,000 records per database - Paid service: starting at $8 per user per year. ($24 per user per year to get priority email support.) - Run the FREE server software on your own server --- open source, free software license. Everything is your own responsibility and you have full control over storage. Distributed as a Docker container. - Self-contained Desktop app build of client and server in one package --- search the web for "Grist desktop database" (open source, free software) - [github.com/gristlabs/grist-desktop/releases](https://github.com/gristlabs/grist-desktop/releases) - How do backups work? - Every project in Grist is a self-contained SQLite-formatte file. Simply backup the `*.grist` files. - What kinds of projects can be done in Grist, and when would you want to use a more advanced system instead? - Good uses for Grist: [support.getgrist.com/examples](https://support.getgrist.com/examples/) - Accounting / invoices / payroll - Task management - Club activities (see "Book club" example) - PRESENTATION: Skip to Demo below. - Consider alternatives: - Calendar / date book: Grist doesn't have a Calendar Grid view. - Notes / diary: Use Zim Desktop Wiki or Obsidian Notes or some other note-taking tool. - Data analysis: Use a spreadsheet program or Jupyter Notebooks - You have dozens of database users. - You have gigabytes of data. - You need enterprise-level access control and reliability. - You need to program complicated forms and reports and table editor behavior beyond what's easily available in Grist. - Building a solution with Grist: "my home media collection" - Examine the spreadhseet `Library.ods`. - What entities do we have? Which named things have additional details we'd only want to store once? - Items - Series - Creators - Checkouts - Borrowers - Start BLANK DATABASE. - Design Items table. - Design Borrows and Checkouts table. - Switch over to finished `Library.grist`. - PRESENTATION: Skip back to "consider alternatives". - Final notes - You can open Grist files in a database editor like DBeaver, but you might not want to use that to modify the data, due to Grist's particular arrangement of how data is stored. - For scripting access to your database, consider using the Grist REST API. - I included an additional sample database file `Package Tracking (redacted).grist`, which I use to track packages arriving at my PO Box.